1. Field of the Invention
The present invention relates to a network computer system and a method for executing a reliable synchronization process thereof. More particularly, the present invention relates to a method for performing a reliable and flexible synchronization process between a server computer and a network computer to assure that the network computer can operate in a mobile environment.
Further, the present invention relates to a method for removing inconsistency that appears between resources of a server computer and resources of a network computer when the network computer is coupled to the server computer after functioning as a mobile computer.
2. Discussion of Background
In recent years, a network computer system has been developed as a novel computer architecture. The system includes a server computer and a plurality of client computers (referred to as network computers (xe2x80x9cNCsxe2x80x9d)) that are coupled to the server computer through a network, such as a local area network (xe2x80x9cLANxe2x80x9d).
A characteristic feature of the network computer system is that the server computer only stores resources, such as an operating system (xe2x80x9cOSxe2x80x9d), application programs and data for processing, and the respective network computers do not individually store these resources. On an as-needed basis, a network computer simply downloads these resources from the server computer through a network. Consequently, the network computer system has advantages of flexibility for easily updating the OS and application programs as a whole system and of reducing overall cost of the computer system in comparison to constructing the system using a large number of conventional stand-alone personal computers. Current network computer systems can operate only while the network computers are coupled to a server computer through a network, such as a LAN, as shown in FIG. 2.
FIG. 2 depicts a network computer (12) that is constantly coupled to a server computer (11) through a LAN (10-1). When the network computer processes data, it downloads a program and data stored in the server. After processing the data, the network computer (12) must upload the updated data to the server in order to maintain consistency of the data. Thus the network computer must be always coupled to the server.
Recently, it has become desirable to use such a network computer as a mobile computer, i.e., off-line from the server. To use a network computer in a mobile environment, local storage is easily installed in a network computer for storing replicas of these resources, i.e., the OS, application programs and data in the server, for off-line processing by the network computer.
FIG. 3 illustrates a network computer having a mobile status capability. As discussed previously, the network computer (12) includes a local storage (24) for storing replicas of the programs and data in the server (11). While the network computer (12) is online, these resources are downloaded in the local storage (24) through the LAN (10-1). By using resource replicas Data (24-d) and Program (24-p) in the local storage (24), the network computer (12) processes data as if it were on-line even when the network computer is off-line from the server (11). Thus, the network computer (12) can be used as a mobile computer.
FIG. 3 illustrates an off-line network computer (12M). When a mobile operation is complete, the network computer is coupled to the server computer (11) and returns to an online state. For continuing the same operation that was executed in an off-line state, the computer system needs to perform a synchronization process to secure consistency between the updated Data (24M-d) in the network computer and the Data (11-d) in the Server (11). Accordingly, the updated Data (24M-d) in the network computer must be uploaded to the server computer (11).
However, there is a serious problem for performing such a synchronization process if the synchronization list in the server computer (11) is modified during the mobile operation of the network computer (12M). When a network computer processes data, as explained above, the network computer must use server resources that have been downloaded into the local storage in the network computer itself by referencing listed necessary objects in the synchronization list of the server computer. The synchronizing objects in the synchronization list of the server computer are intentionally defined and designated by a person who is responsible for controlling the system.
At an initial downloading stage of the resources from the server by referencing the synchronization list into the network computer, the downloaded data of the resource replicas into the local storage of the network computer maintain consistency with the data in the server resources. Then the network computer is logged-out from the network and attains an off-line state. While off-line, the network computer functions independently by using the resource replicas in the local storage only. Since the network computer does not access the server computer during mobile operation, it can not recognize modifications to data in the resources of the server computer made while the network computer is off-line.
However, while the network computer is off-line, it may become necessary to update or change resources in the server computer side. For example, modifications to the synchronization list or to application programs may become necessary in accordance with additions or deletions of commodities or price lists of the objects that are being handled in the system. If such a change in the server resources occurs during the mobile operation of the network computer, inconsistency between the contents of the server resources and the replica data of the network computer appears when the network computer is again coupled to the server.
When the network computer is again on-line, a synchronization process must be performed. The network computer uploads the data in the local storage that have been updated during the mobile operation to the server in accordance with the synchronizing objects that were initially designated in the synchronization list of the server. Consequently, even if an objective resource that was initially listed in the synchronization list has been deleted while the network computer was off-line, the updated data for the objective resource are uploaded to the server in the synchronization process. However, since the objective resource has already been deleted in the server computer, the data of the objective resource can not be updated even if it has been uploaded in the synchronization process.
This inconsistency between the server resources and the data in the network replicas may appear for other reasons, for example, if the contents of the synchronization objects are changed when another network computer or the application programs send a demand to change the objects. In these cases, it is necessary to avoid such inconsistencies between the server resources and the contents of the data in the network computer when the network computer has returned on-line to the server computer after it completes an off-line operation.
Accordingly, one object of the present invention is to solve the aforementioned problems of the conventional network computer system.
Another object of the present invention is to provide a novel network computer that can be operable as a mobile computer and a novel synchronizing method for resolving inconsistencies between server resources and resources of a network computer that appear after mobile operation of the network computer.
More particularly, an object of the present invention is to provide a network computer that is suitable for mobile usage and a method for increasing reliability and flexibility of a synchronization process that can be coordinated with a synchronization list in a server computer.
This may be accomplished by providing a network computer that includes a replica list of the synchronous list of the server computer. A method for performing a synchronization process according to the present invention is characterized in that it performs the synchronization process using both the synchronous list of the server computer and the replica list in the network computer.
Further, the network computer according to the present invention is characterized in that it includes means for determining contents for downloading/uploading between the server and the network computer by referencing both the server list and the replica list of the network computer.
For achieving these objects, the network computer system according to the present invention comprises a server computer and a plurality of network computers and at least one network for coupling between the server computer and the plurality of network computers, wherein the server computer stores resources including at least an operating system (xe2x80x9cOSxe2x80x9d) and application programs and a synchronization list for identifying synchronous objects for downloading/uploading the resources between the server computer and each of the network computers, the OS includes a synchronization process for controlling the downloading/uploading of resources, each of the network computers includes a local storage for storing the downloaded resources from the server computer and a replica list of the synchronization list in the server computer for performing the synchronization process after a mobile operation of the network computer and an OS memory area for storing the downloaded OS from the server computer, the OS memory area including a downloaded synchronization process for performing the synchronization process by referencing both the synchronization list in the server computer and the replica list in the local storage.
The network computer system according to the present invention is characterized in that the computer system includes a server computer, a plurality of network computers, and at least one network for coupling between the server computer and the plurality of network computers, wherein the server computer stores original resources having data including at least an OS and a synchronization list for identifying synchronous objects for replicating the resources for each of the network computers, the OS includes a synchronization process for the replication of the resources, and characterized in that each of the network computers includes a local storage for storing downloaded replicas of the original resources from the server computer to the network computer and a downloaded replica list of the synchronization list of the server computer for identifying synchronous objects for the replication; whereby, the network computer determines execution of the replication by referencing the synchronization list in the server computer and the replica list in the local storage in the network computer.
Further, the network computer system according to the present invention is characterized in that the local storage stores the replicas of the resources in the server and the replica list of the synchronization list in the server; further the network computer includes means for operating the network computer by using resource replicas stored in the local storage without accessing the server; means for comparing the synchronization list in the server and the replica list in the local storage at a replication stage in an online connection to the server; and means for performing the replication between the resources in the server and the resource replicas in the network computer based on the result of the comparison by the comparing means.
The network computer system according to the present invention is characterized in that the replication performing means includes means for determining execution of the replication by detecting whether or not the synchronization list in the server has been changed after the initial replication of resources to the network computer.
The network computer system according to the present invention is characterized in that the replication performing means updates the replica list in the local storage by downloading the synchronization list when it is changed during an off-line state of the computer.
The network computer system according to the present invention is characterized in that the synchronization list includes synchronizing object resources and an optional information attached to the respective resources for determining which has priority for the replication when both data in the server and the local storage have been changed during an off-line operation of the network computer.
The network computer system according to the present invention is characterized in that the replication performing means determines the replication by detecting changes of the data in the server and in the local storage based on the attached optional information.
The network computer system according to the present invention is characterized in that the synchronization list includes optional information for determining replication between the server computer and the local storage; and the replication performing means determines replication in accordance with the attached optional information.
The network computer system according to the present invention is characterized in that the computer system is operable in a first mode operation and a second mode operation, wherein the first mode operation is accomplished by using the resource replicas stored on the local storage during an off-line state from the server; and the second mode operation is accomplished by connecting to the server through an on-line network.
For the network computer system according to the present invention including a local storage for storing necessary downloaded resources from a server computer, a method for executing a replication process between the computer system and the server computer, comprises the steps of producing a replica list in the local storage by downloading a synchronization list in the server computer; and replicating resources between the computer system and the server computer by comparing the replica list in the local storage and the synchronization list in the server computer.
The method according to the present invention further includes the steps of detecting any changes of synchronizing object resources in the synchronization list in the server computer by comparing it with the replica list and determining execution of replication based on a result of the detecting step.
The method according to the present invention, further including a step of updating the replica list in the local storage by downloading the synchronization list from the server computer when the detecting step has detected that any one of the synchronizing object resources has been changed.
The method according to the present invention, wherein each of the synchronizing object resources in the synchronization list includes optional information for designating a priority for the replication between the synchronization list in the server computer and the local storage in the computer system, further including the step of determining replication in accordance with the optional information.
The method according to the present invention, wherein the determining step determines replication by detecting any deletion of the synchronizing objects from the synchronization list, and by using the optional information attached to the deleted synchronizing objects in the replica list.
According to the present invention, it is possible to realize a network computer that can be operable as a mobile computer of high reliability and flexibility since a possible inconsistency between data in a server and a network computer can be resolved by replication processes when the network computer has coupled to the server after the mobile operation.